<?php

/**
* @desc 封装一个通用的精简版curl，当存在$data的时候默认发送的是post请求
* @param    String     $url         请求地址（必填）
* @param    String     $method      请求方式（可选填）
* @param    Array      $data        请求数据（可选填）
*/
	function HttpRequst($url,$method = "GET",$data = null) {
			$curl = curl_init();
			curl_setopt($curl, CURLOPT_URL, $url);
			curl_setopt($curl, CURLOPT_TIMEOUT, 500);
			curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
			curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
			curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
			if($method == "POST" || !empty($data))
			curl_setopt($curl, CURLOPT_POST, TRUE);
			if (!empty($data))
			curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
			$output = curl_exec($curl);
			curl_close($curl);
			return $output;
	}

/** 
 * 效验微信公众平台服务器url配置
 */  
function Validation($signature,$timestamp,$nonce,$token){
        $tmpArr = array($token, $timestamp, $nonce);//将以上三个参数放进数组
        sort($tmpArr, SORT_STRING);//将数组的元素当做字符串来处理，并按升序排序
        $tmpStr = implode( $tmpArr );//将排序好的数组元素重新组合成一个字符串
        $tmpStr = sha1( $tmpStr );//进行sha1加密
        
        if( $tmpStr == $signature ){//将组合的字符串和微信服务器传过来的参数"signature"进行对比
                return true;
        }else{
                return false;
         }
    
}


/** 
 * 获取本机ip
 */  
function get_ip(){  
    if (getenv("HTTP_CLIENT_IP"))
		$ip = getenv("HTTP_CLIENT_IP");
	else if(getenv("HTTP_X_FORWARDED_FOR"))
		$ip = getenv("HTTP_X_FORWARDED_FOR");
	else if(getenv("REMOTE_ADDR"))
		$ip = getenv("REMOTE_ADDR");
	else $ip = "Unknow";
	return $ip;
}


?>